﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WMS_Tools.Model
{
    public enum APIResponseType
    {
        Account = 1,   // 表示账户相关的响应  
        Register = 2,  // 表示注册相关的响应  
        PwdEdit = 3    // 表示密码编辑相关的响应  
    }

    public class ApiResponse<T>
    {
        public int? status { get; set; } // 可以为 "success" 或 "error"  
        public string? type { get; set; }   // 可以为 "account" 或 "register" 等  
        //public string? message { get; set; } //错误信息
        public T? data { get; set; }         // 包含返回的数据  

        public ApiResponse(int? _status, string? _type, T? _data= default)
        {
            status = _status;
            type = _type;
            data = _data;
        }
        /// <summary>
        /// api响应成功的方法。如不需要把对象传给前端，就直接传字符串给data
        /// </summary>
        /// <param name="type"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static ApiResponse<T> OkAPI(string? type,T data)
        {
            return new ApiResponse<T>(200, type, data);
        }

      
        public static ApiResponse<T> BadAPI(string? type, T data)
        {
            return new ApiResponse<T>(400, type, data);
        }
    }
}
